package main

import (
	"fmt"
	"service-auth/service"
	"time"
)

func RunWindowsServer() {
	if service.GVA_CONFIG.System.UseMultipoint {
		// 初始化redis服务
		service.Redis()
	}
	Router := service.Routers()

	address := fmt.Sprintf(":%d", service.GVA_CONFIG.System.Addr) //格式化输出监听端口 :8080
	s := service.InitServer(address, Router)
	// 保证文本顺序输出
	// In order to ensure that the text order output can be deleted
	time.Sleep(10 * time.Microsecond)
	//service.GVA_LOG.Info("server run success on ", zap.String("address", address))
	fmt.Println("server run success on ", address)
	service.GVA_LOG.Error(s.ListenAndServe().Error())
}

// @title Swagger Example API
// @version 0.0.1
// @description This is a sample Server pets
// @securityDefinitions.apikey ApiKeyAuth
// @in header
// @name x-token
// @BasePath /
func main() {
	service.GVA_VP = service.Viper()    // 初始化Viper 获取设置信息
	service.GVA_LOG = service.Zap()     // 初始化zap日志库
	service.GVA_DB = service.Gorm()     // gorm连接数据库
	service.MysqlTables(service.GVA_DB) // 初始化表
	// 程序结束前关闭数据库链接
	db, _ := service.GVA_DB.DB()
	defer db.Close()

	RunWindowsServer()
}

// import (
// 	"fmt"
// 	"io/ioutil"
// 	"net/http"
// 	"strings"
// )

// func main() {
// 	//模拟一个post提交请求
// 	resp, err := http.Post("http://www.baidu.com", "application/x-www-form-urlencoded", strings.NewReader("id=1"))
// 	if err != nil {
// 		panic(err)
// 	}
// 	//关闭连接
// 	defer resp.Body.Close()
// 	//读取报文中所有内容
// 	body, err := ioutil.ReadAll(resp.Body)
// 	//输出内容
// 	fmt.Println(string(body))
// }
